Remove tracking logic for input attachments as it's not necessary. #88631
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #88606.
A lucky accident perhaps, the bug fix to this issue is just removing code that didn't serve any actual purpose. Subpasses were a bit of a blind spot for me as only one particular case on the mobile renderer uses it, and it turns out the logic I added for handling input attachments caused more harm than good.
Input attachments are already part of the framebuffer and are therefore transitioned to the initial and final layout expected by the render pass already. The tracking is already performed there, there doesn't need to be a separate usage assigned for input attachments in particular as the beginning of the draw list already assigns the correct usage. Therefore the error spam was indeed indicating an invalid action from RenderingDevice's part.
Input attachments are a bit of a special case when they're used in a uniform set: they reference an attachment index in particular of the render pass and they must therefore exist to actually use them in the shader. It should never be necessary to track the resource separately in the uniform set as the render pass must have already specified it as an input attachment to be able to use it.
This should result in no behavior differences other than fixing the error spam.
CC @BastiaanOlij